From: kaf24@firebug.cl.cam.ac.uk Date: Wed, 30 Aug 2006 17:02:32 +0000 (+0100) Subject: [XEN] physdev: Check for negative irqs in alloc_irq_vector. X-Git-Tag: archive/raspbian/4.8.0-1+rpi1~1^2~15673^2~22^2^2~4 X-Git-Url: https://dgit.raspbian.org/%22http://www.example.com/cgi/success//%22http:/www.example.com/cgi/success/?a=commitdiff_plain;h=4a8302220710688f434db6947b7d87108ff1a349;p=xen.git [XEN] physdev: Check for negative irqs in alloc_irq_vector. Signed-off-by: Herbert Xu --- diff --git a/xen/arch/x86/physdev.c b/xen/arch/x86/physdev.c index caf6f393e4..2d4841a039 100644 --- a/xen/arch/x86/physdev.c +++ b/xen/arch/x86/physdev.c @@ -96,10 +96,11 @@ long do_physdev_op(int cmd, XEN_GUEST_HANDLE(void) arg) if ( !IS_PRIV(current->domain) ) break; + irq = irq_op.irq; ret = -EINVAL; - if ( (irq = irq_op.irq) >= NR_IRQS ) + if ( (irq < 0) || (irq >= NR_IRQS) ) break; - + irq_op.vector = assign_irq_vector(irq); ret = copy_to_guest(arg, &irq_op, 1) ? -EFAULT : 0; break;